Entities with substantial printing demands typically implement a high-speed production printer for volume printing (e.g., one hundred pages per minute or more). Production printers may include continuous-forms printers that print on a web of print media stored on a large roll. A production printer typically includes a localized print controller that controls the overall operation of the printing system, and a print engine that includes one or more printhead assemblies, where each printhead assembly may include one or more printheads.
Variable paper length support has recently been added to continuous-forms printers to provide for print media (e.g., paper) savings and workflow flexibility for mixed-length print jobs. However, current print engines may include an interface that is optimized for fixed length printing. Thus, a run length encoding of the run may need to be provided to the print engine in advance as an indication of a sheet length, and the number of sheets for that sheet length, for all sheets to be printed for a particular run of one or more print jobs. The run length encoding is trivial when all of the sheets are of fixed length (e.g., the engine is informed of the fixed length and the maximum number sheets regardless of the number of real sheets that will be printed).
A set of variable paper length print jobs may have many sheet length transitions, which is determined from a list of held or stored print jobs. Various continuous forms print engines impose a limit on the number of sheet length transitions (e.g., 32) that may occur without the print engine forcing a cycle down. For instance, a print job that has 8.5×11 for n−1 sheets and 8.5×14 for the nth sheet, has 1 sheet transition. As a result, the jobs in the held list may not be ordered in a manner that minimizes or avoids the forced cycle downs by the engine.
Accordingly, a mechanism to optimize the printing order of print jobs in a variable paper length run is desired.